/* options_internals.h: options dialog boxes
   Copyright (c) 2001-2002 Philip Kendall

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License along
   with this program; if not, write to the Free Software Foundation, Inc.,
   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

   Author contact information:

   E-mail: philip-fuse@shadowmagic.org.uk

*/

/* This file is autogenerated from options.dat by options-header.pl.
   Do not edit unless you know what you're doing! */

#ifndef FUSE_GTKOPTIONS_INTERNALS_H
#define FUSE_GTKOPTIONS_INTERNALS_H

#ifndef __GTK_H__
#include <gtk/gtk.h>
#endif

void menu_options_general( GtkWidget *widget, gpointer data );

typedef struct menu_options_general_t {

  GtkWidget *dialog;

  GtkWidget *emulation_speed;
  GtkWidget *frame_rate;
  GtkWidget *issue2;
  GtkWidget *tape_traps;
  GtkWidget *fastload;
  GtkWidget *detect_loader;
  GtkWidget *accelerate_loader;
  GtkWidget *auto_load;
  GtkWidget *slt_traps;
  GtkWidget *writable_roms;
  GtkWidget *autosave_settings;
  GtkWidget *mdr_len;
  GtkWidget *mdr_random_len;
  GtkWidget *rs232_handshake;
  GtkWidget *bw_tv;
  GtkWidget *pal_tv2x;
  GtkWidget *confirm_actions;
  GtkWidget *statusbar;
  GtkWidget *joy_prompt;
  GtkWidget *late_timings;

} menu_options_general_t;

void menu_options_peripherals( GtkWidget *widget, gpointer data );

typedef struct menu_options_peripherals_t {

  GtkWidget *dialog;

  GtkWidget *joy_kempston;
  GtkWidget *kempston_mouse;
  GtkWidget *mouse_swap_buttons;
  GtkWidget *fuller;
  GtkWidget *melodik;
  GtkWidget *interface1;
  GtkWidget *interface2;
  GtkWidget *printer;
  GtkWidget *simpleide_active;
  GtkWidget *zxatasp_active;
  GtkWidget *zxatasp_upload;
  GtkWidget *zxatasp_wp;
  GtkWidget *zxcf_active;
  GtkWidget *zxcf_upload;
  GtkWidget *divide_enabled;
  GtkWidget *divide_wp;
  GtkWidget *plusd;
  GtkWidget *beta128;
  GtkWidget *opus;

} menu_options_peripherals_t;

void menu_options_rzx( GtkWidget *widget, gpointer data );

typedef struct menu_options_rzx_t {

  GtkWidget *dialog;

  GtkWidget *rzx_autosaves;
  GtkWidget *rzx_compression;
  GtkWidget *competition_mode;
  GtkWidget *competition_code;
  GtkWidget *embed_snapshot;

} menu_options_rzx_t;

void menu_options_sound( GtkWidget *widget, gpointer data );

typedef struct menu_options_sound_t {

  GtkWidget *dialog;

  GtkWidget *sound;
  GtkWidget *sound_load;
  GtkWidget *stereo_ay;
  GtkWidget *sound_force_8bit;
  GtkWidget *speaker_type;
  GtkWidget *volume_ay;
  GtkWidget *volume_beeper;

} menu_options_sound_t;

void menu_options_diskoptions( GtkWidget *widget, gpointer data );

typedef struct menu_options_diskoptions_t {

  GtkWidget *dialog;

  GtkWidget *drive_plus3a_type;
  GtkWidget *drive_plus3b_type;
  GtkWidget *plus3_detect_speedlock;
  GtkWidget *drive_beta128a_type;
  GtkWidget *drive_beta128b_type;
  GtkWidget *drive_beta128c_type;
  GtkWidget *drive_beta128d_type;
  GtkWidget *drive_plusd1_type;
  GtkWidget *drive_plusd2_type;
  GtkWidget *drive_opus1_type;
  GtkWidget *drive_opus2_type;
  GtkWidget *disk_try_merge;
  GtkWidget *disk_ask_merge;

} menu_options_diskoptions_t;

#endif				/* #ifndef FUSE_GTKOPTIONS_ITERNALS_H */
